[INFO] fetching crate legion-core 0.2.4...
[INFO] testing legion-core-0.2.4 against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] extracting crate legion-core 0.2.4 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate legion-core 0.2.4
[INFO] finished tweaking crates.io crate legion-core 0.2.4
[INFO] tweaked toml for crates.io crate legion-core 0.2.4 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate legion-core 0.2.4 on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 97 packages to latest compatible versions
[INFO] [stderr]       Adding bit-set v0.5.3 (available: v0.10.0)
[INFO] [stderr]       Adding crossbeam-channel v0.4.4 (available: v0.5.15)
[INFO] [stderr]       Adding crossbeam-queue v0.2.3 (available: v0.3.12)
[INFO] [stderr]       Adding downcast-rs v1.2.1 (available: v2.0.2)
[INFO] [stderr]       Adding erased-serde v0.3.31 (available: v0.4.10)
[INFO] [stderr]       Adding itertools v0.8.2 (available: v0.14.0)
[INFO] [stderr]       Adding metrics v0.12.1 (available: v0.24.3)
[INFO] [stderr]       Adding parking_lot v0.10.2 (available: v0.12.5)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.18)
[INFO] [stderr]       Adding tracing-subscriber v0.2.25 (available: v0.3.23)
[INFO] [stderr]       Adding uuid v0.8.2 (available: v1.23.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9d6b6a5b30cd0c1ca03ac5808a228f39b0e053bbfe81933291b3f6b1f454cc9b
[INFO] running `Command { std: "docker" "start" "-a" "9d6b6a5b30cd0c1ca03ac5808a228f39b0e053bbfe81933291b3f6b1f454cc9b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9d6b6a5b30cd0c1ca03ac5808a228f39b0e053bbfe81933291b3f6b1f454cc9b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9d6b6a5b30cd0c1ca03ac5808a228f39b0e053bbfe81933291b3f6b1f454cc9b", kill_on_drop: false }`
[INFO] [stdout] 9d6b6a5b30cd0c1ca03ac5808a228f39b0e053bbfe81933291b3f6b1f454cc9b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8463f4cc11265eadea13fb910fa94a0400477caaaad791275c1a7b1c93a74d3a
[INFO] running `Command { std: "docker" "start" "-a" "8463f4cc11265eadea13fb910fa94a0400477caaaad791275c1a7b1c93a74d3a", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling downcast-rs v1.2.1
[INFO] [stderr]    Compiling parking_lot_core v0.7.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling crossbeam-channel v0.4.4
[INFO] [stderr]    Compiling itertools v0.8.2
[INFO] [stderr]    Compiling parking_lot v0.10.2
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling legion-core v0.2.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<isize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]   --> src/borrow.rs:78:34
[INFO] [stdout]    |
[INFO] [stdout] 78 |             if self.borrow_state.compare_and_swap(
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<isize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/borrow.rs:143:18
[INFO] [stdout]     |
[INFO] [stdout] 143 |                 .compare_and_swap(0, -1, std::sync::atomic::Ordering::SeqCst);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/borrow.rs:55:16
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn get(&self) -> Ref<T> { self.try_get().unwrap() }
[INFO] [stdout]    |                ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn get(&self) -> Ref<'_, T> { self.try_get().unwrap() }
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/borrow.rs:68:20
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn try_get(&self) -> Result<Ref<T>, String> {
[INFO] [stdout]    |                    ^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn try_get(&self) -> Result<Ref<'_, T>, String> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/borrow.rs:124:20
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn get_mut(&self) -> RefMut<T> { self.try_get_mut().unwrap() }
[INFO] [stdout]     |                    ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn get_mut(&self) -> RefMut<'_, T> { self.try_get_mut().unwrap() }
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/borrow.rs:140:24
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub fn try_get_mut(&self) -> Result<RefMut<T>, String> {
[INFO] [stdout]     |                        ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub fn try_get_mut(&self) -> Result<RefMut<'_, T>, String> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/command.rs:421:25
[INFO] [stdout]     |
[INFO] [stdout] 421 |     pub fn start_entity(&mut self) -> EntityBuilder<(), ()> {
[INFO] [stdout]     |                         ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 421 |     pub fn start_entity(&mut self) -> EntityBuilder<'_, (), ()> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/entity.rs:279:28
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub fn create_entities(&self) -> CreateEntityIter {
[INFO] [stdout]     |                            ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub fn create_entities(&self) -> CreateEntityIter<'_> {
[INFO] [stdout]     |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/filter.rs:109:16
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn matches(&mut self, source: T) -> FilterIter<Self, T> {
[INFO] [stdout]     |                ^^^^^^^^^                ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                |
[INFO] [stdout]     |                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn matches(&mut self, source: T) -> FilterIter<'_, Self, T> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn iter(&self) -> SliceVecIter<ComponentTypeId> { self.0.iter() }
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn iter(&self) -> SliceVecIter<'_, ComponentTypeId> { self.0.iter() }
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage.rs:138:17
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn iter(&self) -> SliceVecIter<TagTypeId> { self.0.iter() }
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn iter(&self) -> SliceVecIter<'_, TagTypeId> { self.0.iter() }
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage.rs:175:17
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub fn iter(&self) -> SliceVecIter<T> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub fn iter(&self) -> SliceVecIter<'_, T> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout] 282 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 283 |         range: R,
[INFO] [stdout] 284 |     ) -> std::vec::Drain<ArchetypeData> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 284 |     ) -> std::vec::Drain<'_, ArchetypeData> {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/storage.rs:334:5
[INFO] [stdout]     |
[INFO] [stdout] 330 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stdout]     |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 334 |     drop_fn: Option<fn(*mut u8)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]     = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/storage.rs:335:5
[INFO] [stdout]     |
[INFO] [stdout] 330 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stdout]     |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 335 |     eq_fn: fn(*const u8, *const u8) -> bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/storage.rs:336:5
[INFO] [stdout]     |
[INFO] [stdout] 330 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stdout]     |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 336 |     clone_fn: fn(*const u8, *mut u8),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/storage.rs:380:5
[INFO] [stdout]     |
[INFO] [stdout] 376 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stdout]     |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 380 |     drop_fn: Option<fn(*mut u8)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding or eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1234:31
[INFO] [stdout]      |
[INFO] [stdout] 1233 |         &'a self,
[INFO] [stdout]      |          -- the lifetime is named here
[INFO] [stdout] 1234 |     ) -> impl Iterator<Item = RefMap<&[T]>> + 'a {
[INFO] [stdout]      |                               ^^^^^^^^^^^^    -- the same lifetime is named here
[INFO] [stdout]      |                               |      |
[INFO] [stdout]      |                               |      the same lifetime is elided here
[INFO] [stdout]      |                               the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]      |
[INFO] [stdout] 1234 |     ) -> impl Iterator<Item = RefMap<'a, &'a [T]>> + 'a {
[INFO] [stdout]      |                                      +++  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding or eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1245:31
[INFO] [stdout]      |
[INFO] [stdout] 1244 |         &'a self,
[INFO] [stdout]      |          -- the lifetime is named here
[INFO] [stdout] 1245 |     ) -> impl Iterator<Item = RefMapMut<&mut [T]>> + 'a {
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^    -- the same lifetime is named here
[INFO] [stdout]      |                               |         |
[INFO] [stdout]      |                               |         the same lifetime is elided here
[INFO] [stdout]      |                               the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]      |
[INFO] [stdout] 1245 |     ) -> impl Iterator<Item = RefMapMut<'a, &'a mut [T]>> + 'a {
[INFO] [stdout]      |                                         +++  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1380:9
[INFO] [stdout]      |
[INFO] [stdout] 1380 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 1381 |         range: R,
[INFO] [stdout] 1382 |     ) -> std::vec::Drain<ComponentStorage> {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1382 |     ) -> std::vec::Drain<'_, ComponentStorage> {
[INFO] [stdout]      |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1732:19
[INFO] [stdout]      |
[INFO] [stdout] 1732 |     pub fn writer(&mut self) -> StorageWriter {
[INFO] [stdout]      |                   ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1732 |     pub fn writer(&mut self) -> StorageWriter<'_> {
[INFO] [stdout]      |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1896:28
[INFO] [stdout]      |
[INFO] [stdout] 1896 |     pub unsafe fn data_raw(&self) -> (Ref<*mut u8>, usize, usize) {
[INFO] [stdout]      |                            ^^^^^      ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                            |
[INFO] [stdout]      |                            the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1896 |     pub unsafe fn data_raw(&self) -> (Ref<'_, *mut u8>, usize, usize) {
[INFO] [stdout]      |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1913:32
[INFO] [stdout]      |
[INFO] [stdout] 1913 |     pub unsafe fn data_raw_mut(&self) -> (RefMut<*mut u8>, usize, usize) {
[INFO] [stdout]      |                                ^^^^^      ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1913 |     pub unsafe fn data_raw_mut(&self) -> (RefMut<'_, *mut u8>, usize, usize) {
[INFO] [stdout]      |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1929:33
[INFO] [stdout]      |
[INFO] [stdout] 1929 |     pub unsafe fn data_slice<T>(&self) -> RefMap<&[T]> {
[INFO] [stdout]      |                                 ^^^^^     ^^^^^^^^^^^^
[INFO] [stdout]      |                                 |         |      |
[INFO] [stdout]      |                                 |         |      the same lifetime is elided here
[INFO] [stdout]      |                                 |         the same lifetime is hidden here
[INFO] [stdout]      |                                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1929 |     pub unsafe fn data_slice<T>(&self) -> RefMap<'_, &[T]> {
[INFO] [stdout]      |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1947:37
[INFO] [stdout]      |
[INFO] [stdout] 1947 |     pub unsafe fn data_slice_mut<T>(&self) -> RefMapMut<&mut [T]> {
[INFO] [stdout]      |                                     ^^^^^     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                     |         |         |
[INFO] [stdout]      |                                     |         |         the same lifetime is elided here
[INFO] [stdout]      |                                     |         the same lifetime is hidden here
[INFO] [stdout]      |                                     the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1947 |     pub unsafe fn data_slice_mut<T>(&self) -> RefMapMut<'_, &mut [T]> {
[INFO] [stdout]      |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1953:19
[INFO] [stdout]      |
[INFO] [stdout] 1953 |     pub fn writer(&mut self) -> ComponentWriter { ComponentWriter::new(self) }
[INFO] [stdout]      |                   ^^^^^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1953 |     pub fn writer(&mut self) -> ComponentWriter<'_> { ComponentWriter::new(self) }
[INFO] [stdout]      |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/subworld.rs:215:9
[INFO] [stdout]     |
[INFO] [stdout] 215 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 216 |         _: &'q Query<V, F>,
[INFO] [stdout] 217 |     ) -> (SubWorld, SubWorld) {
[INFO] [stdout]     |           ^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 217 |     ) -> (SubWorld<'_>, SubWorld<'_>) {
[INFO] [stdout]     |                   ++++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/subworld.rs:298:36
[INFO] [stdout]     |
[INFO] [stdout] 298 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<T>> {
[INFO] [stdout]     |                                    ^^^^^                            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 298 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<'_, T>> {
[INFO] [stdout]     |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/subworld.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout] 305 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 306 |         entity: Entity,
[INFO] [stdout] 307 |     ) -> Option<RefMut<T>> {
[INFO] [stdout]     |                 ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 307 |     ) -> Option<RefMut<'_, T>> {
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/subworld.rs:319:9
[INFO] [stdout]     |
[INFO] [stdout] 319 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 320 |     ) -> Result<StorageAccessor, ComponentAccessError> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 320 |     ) -> Result<StorageAccessor<'_>, ComponentAccessError> {
[INFO] [stdout]     |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world.rs:111:36
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<T>>;
[INFO] [stdout]     |                                    ^^^^^                            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<'_, T>>;
[INFO] [stdout]     |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world.rs:126:57
[INFO] [stdout]     |
[INFO] [stdout] 126 |     unsafe fn get_component_mut_unchecked<T: Component>(&self, entity: Entity)
[INFO] [stdout]     |                                                         ^^^^^ the lifetime is elided here
[INFO] [stdout] 127 |         -> Option<RefMut<T>>;
[INFO] [stdout]     |                   ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 127 |         -> Option<RefMut<'_, T>>;
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world.rs:138:40
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn get_component_mut<T: Component>(&mut self, entity: Entity) -> Option<RefMut<T>> {
[INFO] [stdout]     |                                        ^^^^^^^^^                            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn get_component_mut<T: Component>(&mut self, entity: Entity) -> Option<RefMut<'_, T>> {
[INFO] [stdout]     |                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 155 |     ) -> Result<StorageAccessor, ComponentAccessError>;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 155 |     ) -> Result<StorageAccessor<'_>, ComponentAccessError>;
[INFO] [stdout]     |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/world.rs:1061:43
[INFO] [stdout]      |
[INFO] [stdout] 1061 |             archetype_data: archetype_data.deref(),
[INFO] [stdout]      |                                           ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `ArchetypeData` does not implement `Deref`, so calling `deref` on `&ArchetypeData` copies the reference, which does not do anything and can be removed
[INFO] [stdout]      = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout] 1061 -             archetype_data: archetype_data.deref(),
[INFO] [stdout] 1061 +             archetype_data: archetype_data,
[INFO] [stdout]      |
[INFO] [stdout] help: if you meant to clone `ArchetypeData`, implement `Clone` for it
[INFO] [stdout]     -->  src/storage.rs:620:1
[INFO] [stdout]      |
[INFO] [stdout]  620 + #[derive(Clone)]
[INFO] [stdout]  621 | pub struct ArchetypeData {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/world.rs:1092:39
[INFO] [stdout]      |
[INFO] [stdout] 1092 |     pub fn split<T: for<'v> View<'v>>(&mut self) -> (SubWorld, SubWorld) {
[INFO] [stdout]      |                                       ^^^^^^^^^      ^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                       |              |
[INFO] [stdout]      |                                       |              the same lifetime is hidden here
[INFO] [stdout]      |                                       the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1092 |     pub fn split<T: for<'v> View<'v>>(&mut self) -> (SubWorld<'_>, SubWorld<'_>) {
[INFO] [stdout]      |                                                              ++++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/world.rs:1113:9
[INFO] [stdout]      |
[INFO] [stdout] 1113 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 1114 |         _: &'q Query<V, F>,
[INFO] [stdout] 1115 |     ) -> (SubWorld, SubWorld) {
[INFO] [stdout]      |           ^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1115 |     ) -> (SubWorld<'_>, SubWorld<'_>) {
[INFO] [stdout]      |                   ++++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/world.rs:1139:36
[INFO] [stdout]      |
[INFO] [stdout] 1139 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<T>> {
[INFO] [stdout]      |                                    ^^^^^                            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                    |
[INFO] [stdout]      |                                    the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1139 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<'_, T>> {
[INFO] [stdout]      |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/world.rs:1159:9
[INFO] [stdout]      |
[INFO] [stdout] 1159 |         &self,
[INFO] [stdout]      |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 1160 |         entity: Entity,
[INFO] [stdout] 1161 |     ) -> Option<RefMut<T>> {
[INFO] [stdout]      |                 ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1161 |     ) -> Option<RefMut<'_, T>> {
[INFO] [stdout]      |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/world.rs:1195:9
[INFO] [stdout]      |
[INFO] [stdout] 1195 |         &self,
[INFO] [stdout]      |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 1196 |     ) -> Result<StorageAccessor, ComponentAccessError> {
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1196 |     ) -> Result<StorageAccessor<'_>, ComponentAccessError> {
[INFO] [stdout]      |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.10s
[INFO] running `Command { std: "docker" "inspect" "8463f4cc11265eadea13fb910fa94a0400477caaaad791275c1a7b1c93a74d3a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8463f4cc11265eadea13fb910fa94a0400477caaaad791275c1a7b1c93a74d3a", kill_on_drop: false }`
[INFO] [stdout] 8463f4cc11265eadea13fb910fa94a0400477caaaad791275c1a7b1c93a74d3a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4554fcb7a2ccdc4c838a3432a3d8096318461ed40373c2df1936b4db9b1595dc
[INFO] running `Command { std: "docker" "start" "-a" "4554fcb7a2ccdc4c838a3432a3d8096318461ed40373c2df1936b4db9b1595dc", kill_on_drop: false }`
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling tracing-log v0.1.4
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling tracing-serde v0.1.3
[INFO] [stderr]    Compiling erased-serde v0.3.31
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<isize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]   --> src/borrow.rs:78:34
[INFO] [stdout]    |
[INFO] [stdout] 78 |             if self.borrow_state.compare_and_swap(
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<isize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/borrow.rs:143:18
[INFO] [stdout]     |
[INFO] [stdout] 143 |                 .compare_and_swap(0, -1, std::sync::atomic::Ordering::SeqCst);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/borrow.rs:55:16
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn get(&self) -> Ref<T> { self.try_get().unwrap() }
[INFO] [stdout]    |                ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn get(&self) -> Ref<'_, T> { self.try_get().unwrap() }
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/borrow.rs:68:20
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn try_get(&self) -> Result<Ref<T>, String> {
[INFO] [stdout]    |                    ^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn try_get(&self) -> Result<Ref<'_, T>, String> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/borrow.rs:124:20
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn get_mut(&self) -> RefMut<T> { self.try_get_mut().unwrap() }
[INFO] [stdout]     |                    ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn get_mut(&self) -> RefMut<'_, T> { self.try_get_mut().unwrap() }
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/borrow.rs:140:24
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub fn try_get_mut(&self) -> Result<RefMut<T>, String> {
[INFO] [stdout]     |                        ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub fn try_get_mut(&self) -> Result<RefMut<'_, T>, String> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/command.rs:421:25
[INFO] [stdout]     |
[INFO] [stdout] 421 |     pub fn start_entity(&mut self) -> EntityBuilder<(), ()> {
[INFO] [stdout]     |                         ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 421 |     pub fn start_entity(&mut self) -> EntityBuilder<'_, (), ()> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/entity.rs:279:28
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub fn create_entities(&self) -> CreateEntityIter {
[INFO] [stdout]     |                            ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub fn create_entities(&self) -> CreateEntityIter<'_> {
[INFO] [stdout]     |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/filter.rs:109:16
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn matches(&mut self, source: T) -> FilterIter<Self, T> {
[INFO] [stdout]     |                ^^^^^^^^^                ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                |
[INFO] [stdout]     |                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn matches(&mut self, source: T) -> FilterIter<'_, Self, T> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn iter(&self) -> SliceVecIter<ComponentTypeId> { self.0.iter() }
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn iter(&self) -> SliceVecIter<'_, ComponentTypeId> { self.0.iter() }
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage.rs:138:17
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn iter(&self) -> SliceVecIter<TagTypeId> { self.0.iter() }
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn iter(&self) -> SliceVecIter<'_, TagTypeId> { self.0.iter() }
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage.rs:175:17
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub fn iter(&self) -> SliceVecIter<T> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub fn iter(&self) -> SliceVecIter<'_, T> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout] 282 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 283 |         range: R,
[INFO] [stdout] 284 |     ) -> std::vec::Drain<ArchetypeData> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 284 |     ) -> std::vec::Drain<'_, ArchetypeData> {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/storage.rs:334:5
[INFO] [stdout]     |
[INFO] [stdout] 330 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stdout]     |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 334 |     drop_fn: Option<fn(*mut u8)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]     = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/storage.rs:335:5
[INFO] [stdout]     |
[INFO] [stdout] 330 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stdout]     |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 335 |     eq_fn: fn(*const u8, *const u8) -> bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/storage.rs:336:5
[INFO] [stdout]     |
[INFO] [stdout] 330 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stdout]     |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 336 |     clone_fn: fn(*const u8, *mut u8),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/storage.rs:380:5
[INFO] [stdout]     |
[INFO] [stdout] 376 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stdout]     |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 380 |     drop_fn: Option<fn(*mut u8)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding or eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1234:31
[INFO] [stdout]      |
[INFO] [stdout] 1233 |         &'a self,
[INFO] [stdout]      |          -- the lifetime is named here
[INFO] [stdout] 1234 |     ) -> impl Iterator<Item = RefMap<&[T]>> + 'a {
[INFO] [stdout]      |                               ^^^^^^^^^^^^    -- the same lifetime is named here
[INFO] [stdout]      |                               |      |
[INFO] [stdout]      |                               |      the same lifetime is elided here
[INFO] [stdout]      |                               the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]      |
[INFO] [stdout] 1234 |     ) -> impl Iterator<Item = RefMap<'a, &'a [T]>> + 'a {
[INFO] [stdout]      |                                      +++  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding or eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1245:31
[INFO] [stdout]      |
[INFO] [stdout] 1244 |         &'a self,
[INFO] [stdout]      |          -- the lifetime is named here
[INFO] [stdout] 1245 |     ) -> impl Iterator<Item = RefMapMut<&mut [T]>> + 'a {
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^    -- the same lifetime is named here
[INFO] [stdout]      |                               |         |
[INFO] [stdout]      |                               |         the same lifetime is elided here
[INFO] [stdout]      |                               the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]      |
[INFO] [stdout] 1245 |     ) -> impl Iterator<Item = RefMapMut<'a, &'a mut [T]>> + 'a {
[INFO] [stdout]      |                                         +++  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1380:9
[INFO] [stdout]      |
[INFO] [stdout] 1380 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 1381 |         range: R,
[INFO] [stdout] 1382 |     ) -> std::vec::Drain<ComponentStorage> {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1382 |     ) -> std::vec::Drain<'_, ComponentStorage> {
[INFO] [stdout]      |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1732:19
[INFO] [stdout]      |
[INFO] [stdout] 1732 |     pub fn writer(&mut self) -> StorageWriter {
[INFO] [stdout]      |                   ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1732 |     pub fn writer(&mut self) -> StorageWriter<'_> {
[INFO] [stdout]      |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1896:28
[INFO] [stdout]      |
[INFO] [stdout] 1896 |     pub unsafe fn data_raw(&self) -> (Ref<*mut u8>, usize, usize) {
[INFO] [stdout]      |                            ^^^^^      ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                            |
[INFO] [stdout]      |                            the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1896 |     pub unsafe fn data_raw(&self) -> (Ref<'_, *mut u8>, usize, usize) {
[INFO] [stdout]      |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1913:32
[INFO] [stdout]      |
[INFO] [stdout] 1913 |     pub unsafe fn data_raw_mut(&self) -> (RefMut<*mut u8>, usize, usize) {
[INFO] [stdout]      |                                ^^^^^      ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1913 |     pub unsafe fn data_raw_mut(&self) -> (RefMut<'_, *mut u8>, usize, usize) {
[INFO] [stdout]      |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1929:33
[INFO] [stdout]      |
[INFO] [stdout] 1929 |     pub unsafe fn data_slice<T>(&self) -> RefMap<&[T]> {
[INFO] [stdout]      |                                 ^^^^^     ^^^^^^^^^^^^
[INFO] [stdout]      |                                 |         |      |
[INFO] [stdout]      |                                 |         |      the same lifetime is elided here
[INFO] [stdout]      |                                 |         the same lifetime is hidden here
[INFO] [stdout]      |                                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1929 |     pub unsafe fn data_slice<T>(&self) -> RefMap<'_, &[T]> {
[INFO] [stdout]      |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1947:37
[INFO] [stdout]      |
[INFO] [stdout] 1947 |     pub unsafe fn data_slice_mut<T>(&self) -> RefMapMut<&mut [T]> {
[INFO] [stdout]      |                                     ^^^^^     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                     |         |         |
[INFO] [stdout]      |                                     |         |         the same lifetime is elided here
[INFO] [stdout]      |                                     |         the same lifetime is hidden here
[INFO] [stdout]      |                                     the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1947 |     pub unsafe fn data_slice_mut<T>(&self) -> RefMapMut<'_, &mut [T]> {
[INFO] [stdout]      |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1953:19
[INFO] [stdout]      |
[INFO] [stdout] 1953 |     pub fn writer(&mut self) -> ComponentWriter { ComponentWriter::new(self) }
[INFO] [stdout]      |                   ^^^^^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1953 |     pub fn writer(&mut self) -> ComponentWriter<'_> { ComponentWriter::new(self) }
[INFO] [stdout]      |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/subworld.rs:215:9
[INFO] [stdout]     |
[INFO] [stdout] 215 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 216 |         _: &'q Query<V, F>,
[INFO] [stdout] 217 |     ) -> (SubWorld, SubWorld) {
[INFO] [stdout]     |           ^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 217 |     ) -> (SubWorld<'_>, SubWorld<'_>) {
[INFO] [stdout]     |                   ++++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/subworld.rs:298:36
[INFO] [stdout]     |
[INFO] [stdout] 298 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<T>> {
[INFO] [stdout]     |                                    ^^^^^                            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 298 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<'_, T>> {
[INFO] [stdout]     |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/subworld.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout] 305 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 306 |         entity: Entity,
[INFO] [stdout] 307 |     ) -> Option<RefMut<T>> {
[INFO] [stdout]     |                 ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 307 |     ) -> Option<RefMut<'_, T>> {
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/subworld.rs:319:9
[INFO] [stdout]     |
[INFO] [stdout] 319 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 320 |     ) -> Result<StorageAccessor, ComponentAccessError> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 320 |     ) -> Result<StorageAccessor<'_>, ComponentAccessError> {
[INFO] [stdout]     |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world.rs:111:36
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<T>>;
[INFO] [stdout]     |                                    ^^^^^                            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<'_, T>>;
[INFO] [stdout]     |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world.rs:126:57
[INFO] [stdout]     |
[INFO] [stdout] 126 |     unsafe fn get_component_mut_unchecked<T: Component>(&self, entity: Entity)
[INFO] [stdout]     |                                                         ^^^^^ the lifetime is elided here
[INFO] [stdout] 127 |         -> Option<RefMut<T>>;
[INFO] [stdout]     |                   ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 127 |         -> Option<RefMut<'_, T>>;
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world.rs:138:40
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn get_component_mut<T: Component>(&mut self, entity: Entity) -> Option<RefMut<T>> {
[INFO] [stdout]     |                                        ^^^^^^^^^                            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn get_component_mut<T: Component>(&mut self, entity: Entity) -> Option<RefMut<'_, T>> {
[INFO] [stdout]     |                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 155 |     ) -> Result<StorageAccessor, ComponentAccessError>;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 155 |     ) -> Result<StorageAccessor<'_>, ComponentAccessError>;
[INFO] [stdout]     |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/world.rs:1061:43
[INFO] [stdout]      |
[INFO] [stdout] 1061 |             archetype_data: archetype_data.deref(),
[INFO] [stdout]      |                                           ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `ArchetypeData` does not implement `Deref`, so calling `deref` on `&ArchetypeData` copies the reference, which does not do anything and can be removed
[INFO] [stdout]      = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout] 1061 -             archetype_data: archetype_data.deref(),
[INFO] [stdout] 1061 +             archetype_data: archetype_data,
[INFO] [stdout]      |
[INFO] [stdout] help: if you meant to clone `ArchetypeData`, implement `Clone` for it
[INFO] [stdout]     -->  src/storage.rs:620:1
[INFO] [stdout]      |
[INFO] [stdout]  620 + #[derive(Clone)]
[INFO] [stdout]  621 | pub struct ArchetypeData {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/world.rs:1092:39
[INFO] [stdout]      |
[INFO] [stdout] 1092 |     pub fn split<T: for<'v> View<'v>>(&mut self) -> (SubWorld, SubWorld) {
[INFO] [stdout]      |                                       ^^^^^^^^^      ^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                       |              |
[INFO] [stdout]      |                                       |              the same lifetime is hidden here
[INFO] [stdout]      |                                       the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1092 |     pub fn split<T: for<'v> View<'v>>(&mut self) -> (SubWorld<'_>, SubWorld<'_>) {
[INFO] [stdout]      |                                                              ++++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/world.rs:1113:9
[INFO] [stdout]      |
[INFO] [stdout] 1113 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 1114 |         _: &'q Query<V, F>,
[INFO] [stdout] 1115 |     ) -> (SubWorld, SubWorld) {
[INFO] [stdout]      |           ^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1115 |     ) -> (SubWorld<'_>, SubWorld<'_>) {
[INFO] [stdout]      |                   ++++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/world.rs:1139:36
[INFO] [stdout]      |
[INFO] [stdout] 1139 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<T>> {
[INFO] [stdout]      |                                    ^^^^^                            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                    |
[INFO] [stdout]      |                                    the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1139 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<'_, T>> {
[INFO] [stdout]      |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/world.rs:1159:9
[INFO] [stdout]      |
[INFO] [stdout] 1159 |         &self,
[INFO] [stdout]      |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 1160 |         entity: Entity,
[INFO] [stdout] 1161 |     ) -> Option<RefMut<T>> {
[INFO] [stdout]      |                 ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1161 |     ) -> Option<RefMut<'_, T>> {
[INFO] [stdout]      |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/world.rs:1195:9
[INFO] [stdout]      |
[INFO] [stdout] 1195 |         &self,
[INFO] [stdout]      |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 1196 |     ) -> Result<StorageAccessor, ComponentAccessError> {
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1196 |     ) -> Result<StorageAccessor<'_>, ComponentAccessError> {
[INFO] [stdout]      |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling type-uuid-derive v0.1.2
[INFO] [stderr]    Compiling type-uuid v0.1.2
[INFO] [stderr]    Compiling matchers v0.0.1
[INFO] [stderr]    Compiling tracing-subscriber v0.2.25
[INFO] [stderr]    Compiling legion-core v0.2.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<isize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]   --> src/borrow.rs:78:34
[INFO] [stdout]    |
[INFO] [stdout] 78 |             if self.borrow_state.compare_and_swap(
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<isize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/borrow.rs:143:18
[INFO] [stdout]     |
[INFO] [stdout] 143 |                 .compare_and_swap(0, -1, std::sync::atomic::Ordering::SeqCst);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/borrow.rs:55:16
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn get(&self) -> Ref<T> { self.try_get().unwrap() }
[INFO] [stdout]    |                ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn get(&self) -> Ref<'_, T> { self.try_get().unwrap() }
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/borrow.rs:68:20
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn try_get(&self) -> Result<Ref<T>, String> {
[INFO] [stdout]    |                    ^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn try_get(&self) -> Result<Ref<'_, T>, String> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/borrow.rs:124:20
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn get_mut(&self) -> RefMut<T> { self.try_get_mut().unwrap() }
[INFO] [stdout]     |                    ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn get_mut(&self) -> RefMut<'_, T> { self.try_get_mut().unwrap() }
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/borrow.rs:140:24
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub fn try_get_mut(&self) -> Result<RefMut<T>, String> {
[INFO] [stdout]     |                        ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub fn try_get_mut(&self) -> Result<RefMut<'_, T>, String> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/command.rs:421:25
[INFO] [stdout]     |
[INFO] [stdout] 421 |     pub fn start_entity(&mut self) -> EntityBuilder<(), ()> {
[INFO] [stdout]     |                         ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 421 |     pub fn start_entity(&mut self) -> EntityBuilder<'_, (), ()> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/entity.rs:279:28
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub fn create_entities(&self) -> CreateEntityIter {
[INFO] [stdout]     |                            ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub fn create_entities(&self) -> CreateEntityIter<'_> {
[INFO] [stdout]     |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/filter.rs:109:16
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn matches(&mut self, source: T) -> FilterIter<Self, T> {
[INFO] [stdout]     |                ^^^^^^^^^                ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                |
[INFO] [stdout]     |                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn matches(&mut self, source: T) -> FilterIter<'_, Self, T> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn iter(&self) -> SliceVecIter<ComponentTypeId> { self.0.iter() }
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn iter(&self) -> SliceVecIter<'_, ComponentTypeId> { self.0.iter() }
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage.rs:138:17
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn iter(&self) -> SliceVecIter<TagTypeId> { self.0.iter() }
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn iter(&self) -> SliceVecIter<'_, TagTypeId> { self.0.iter() }
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage.rs:175:17
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub fn iter(&self) -> SliceVecIter<T> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub fn iter(&self) -> SliceVecIter<'_, T> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout] 282 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 283 |         range: R,
[INFO] [stdout] 284 |     ) -> std::vec::Drain<ArchetypeData> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 284 |     ) -> std::vec::Drain<'_, ArchetypeData> {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/storage.rs:334:5
[INFO] [stdout]     |
[INFO] [stdout] 330 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stdout]     |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 334 |     drop_fn: Option<fn(*mut u8)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]     = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/storage.rs:335:5
[INFO] [stdout]     |
[INFO] [stdout] 330 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stdout]     |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 335 |     eq_fn: fn(*const u8, *const u8) -> bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/storage.rs:336:5
[INFO] [stdout]     |
[INFO] [stdout] 330 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stdout]     |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 336 |     clone_fn: fn(*const u8, *mut u8),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/storage.rs:380:5
[INFO] [stdout]     |
[INFO] [stdout] 376 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stdout]     |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 380 |     drop_fn: Option<fn(*mut u8)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding or eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1234:31
[INFO] [stdout]      |
[INFO] [stdout] 1233 |         &'a self,
[INFO] [stdout]      |          -- the lifetime is named here
[INFO] [stdout] 1234 |     ) -> impl Iterator<Item = RefMap<&[T]>> + 'a {
[INFO] [stdout]      |                               ^^^^^^^^^^^^    -- the same lifetime is named here
[INFO] [stdout]      |                               |      |
[INFO] [stdout]      |                               |      the same lifetime is elided here
[INFO] [stdout]      |                               the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]      |
[INFO] [stdout] 1234 |     ) -> impl Iterator<Item = RefMap<'a, &'a [T]>> + 'a {
[INFO] [stdout]      |                                      +++  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding or eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1245:31
[INFO] [stdout]      |
[INFO] [stdout] 1244 |         &'a self,
[INFO] [stdout]      |          -- the lifetime is named here
[INFO] [stdout] 1245 |     ) -> impl Iterator<Item = RefMapMut<&mut [T]>> + 'a {
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^    -- the same lifetime is named here
[INFO] [stdout]      |                               |         |
[INFO] [stdout]      |                               |         the same lifetime is elided here
[INFO] [stdout]      |                               the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]      |
[INFO] [stdout] 1245 |     ) -> impl Iterator<Item = RefMapMut<'a, &'a mut [T]>> + 'a {
[INFO] [stdout]      |                                         +++  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1380:9
[INFO] [stdout]      |
[INFO] [stdout] 1380 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 1381 |         range: R,
[INFO] [stdout] 1382 |     ) -> std::vec::Drain<ComponentStorage> {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1382 |     ) -> std::vec::Drain<'_, ComponentStorage> {
[INFO] [stdout]      |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1732:19
[INFO] [stdout]      |
[INFO] [stdout] 1732 |     pub fn writer(&mut self) -> StorageWriter {
[INFO] [stdout]      |                   ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1732 |     pub fn writer(&mut self) -> StorageWriter<'_> {
[INFO] [stdout]      |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1896:28
[INFO] [stdout]      |
[INFO] [stdout] 1896 |     pub unsafe fn data_raw(&self) -> (Ref<*mut u8>, usize, usize) {
[INFO] [stdout]      |                            ^^^^^      ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                            |
[INFO] [stdout]      |                            the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1896 |     pub unsafe fn data_raw(&self) -> (Ref<'_, *mut u8>, usize, usize) {
[INFO] [stdout]      |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1913:32
[INFO] [stdout]      |
[INFO] [stdout] 1913 |     pub unsafe fn data_raw_mut(&self) -> (RefMut<*mut u8>, usize, usize) {
[INFO] [stdout]      |                                ^^^^^      ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1913 |     pub unsafe fn data_raw_mut(&self) -> (RefMut<'_, *mut u8>, usize, usize) {
[INFO] [stdout]      |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1929:33
[INFO] [stdout]      |
[INFO] [stdout] 1929 |     pub unsafe fn data_slice<T>(&self) -> RefMap<&[T]> {
[INFO] [stdout]      |                                 ^^^^^     ^^^^^^^^^^^^
[INFO] [stdout]      |                                 |         |      |
[INFO] [stdout]      |                                 |         |      the same lifetime is elided here
[INFO] [stdout]      |                                 |         the same lifetime is hidden here
[INFO] [stdout]      |                                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1929 |     pub unsafe fn data_slice<T>(&self) -> RefMap<'_, &[T]> {
[INFO] [stdout]      |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1947:37
[INFO] [stdout]      |
[INFO] [stdout] 1947 |     pub unsafe fn data_slice_mut<T>(&self) -> RefMapMut<&mut [T]> {
[INFO] [stdout]      |                                     ^^^^^     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                     |         |         |
[INFO] [stdout]      |                                     |         |         the same lifetime is elided here
[INFO] [stdout]      |                                     |         the same lifetime is hidden here
[INFO] [stdout]      |                                     the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1947 |     pub unsafe fn data_slice_mut<T>(&self) -> RefMapMut<'_, &mut [T]> {
[INFO] [stdout]      |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1953:19
[INFO] [stdout]      |
[INFO] [stdout] 1953 |     pub fn writer(&mut self) -> ComponentWriter { ComponentWriter::new(self) }
[INFO] [stdout]      |                   ^^^^^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1953 |     pub fn writer(&mut self) -> ComponentWriter<'_> { ComponentWriter::new(self) }
[INFO] [stdout]      |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/subworld.rs:215:9
[INFO] [stdout]     |
[INFO] [stdout] 215 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 216 |         _: &'q Query<V, F>,
[INFO] [stdout] 217 |     ) -> (SubWorld, SubWorld) {
[INFO] [stdout]     |           ^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 217 |     ) -> (SubWorld<'_>, SubWorld<'_>) {
[INFO] [stdout]     |                   ++++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/subworld.rs:298:36
[INFO] [stdout]     |
[INFO] [stdout] 298 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<T>> {
[INFO] [stdout]     |                                    ^^^^^                            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 298 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<'_, T>> {
[INFO] [stdout]     |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/subworld.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout] 305 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 306 |         entity: Entity,
[INFO] [stdout] 307 |     ) -> Option<RefMut<T>> {
[INFO] [stdout]     |                 ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 307 |     ) -> Option<RefMut<'_, T>> {
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/subworld.rs:319:9
[INFO] [stdout]     |
[INFO] [stdout] 319 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 320 |     ) -> Result<StorageAccessor, ComponentAccessError> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 320 |     ) -> Result<StorageAccessor<'_>, ComponentAccessError> {
[INFO] [stdout]     |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world.rs:111:36
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<T>>;
[INFO] [stdout]     |                                    ^^^^^                            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<'_, T>>;
[INFO] [stdout]     |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world.rs:126:57
[INFO] [stdout]     |
[INFO] [stdout] 126 |     unsafe fn get_component_mut_unchecked<T: Component>(&self, entity: Entity)
[INFO] [stdout]     |                                                         ^^^^^ the lifetime is elided here
[INFO] [stdout] 127 |         -> Option<RefMut<T>>;
[INFO] [stdout]     |                   ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 127 |         -> Option<RefMut<'_, T>>;
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world.rs:138:40
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn get_component_mut<T: Component>(&mut self, entity: Entity) -> Option<RefMut<T>> {
[INFO] [stdout]     |                                        ^^^^^^^^^                            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn get_component_mut<T: Component>(&mut self, entity: Entity) -> Option<RefMut<'_, T>> {
[INFO] [stdout]     |                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 155 |     ) -> Result<StorageAccessor, ComponentAccessError>;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 155 |     ) -> Result<StorageAccessor<'_>, ComponentAccessError>;
[INFO] [stdout]     |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/world.rs:1061:43
[INFO] [stdout]      |
[INFO] [stdout] 1061 |             archetype_data: archetype_data.deref(),
[INFO] [stdout]      |                                           ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `ArchetypeData` does not implement `Deref`, so calling `deref` on `&ArchetypeData` copies the reference, which does not do anything and can be removed
[INFO] [stdout]      = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout] 1061 -             archetype_data: archetype_data.deref(),
[INFO] [stdout] 1061 +             archetype_data: archetype_data,
[INFO] [stdout]      |
[INFO] [stdout] help: if you meant to clone `ArchetypeData`, implement `Clone` for it
[INFO] [stdout]     -->  src/storage.rs:620:1
[INFO] [stdout]      |
[INFO] [stdout]  620 + #[derive(Clone)]
[INFO] [stdout]  621 | pub struct ArchetypeData {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/world.rs:1092:39
[INFO] [stdout]      |
[INFO] [stdout] 1092 |     pub fn split<T: for<'v> View<'v>>(&mut self) -> (SubWorld, SubWorld) {
[INFO] [stdout]      |                                       ^^^^^^^^^      ^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                       |              |
[INFO] [stdout]      |                                       |              the same lifetime is hidden here
[INFO] [stdout]      |                                       the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1092 |     pub fn split<T: for<'v> View<'v>>(&mut self) -> (SubWorld<'_>, SubWorld<'_>) {
[INFO] [stdout]      |                                                              ++++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/world.rs:1113:9
[INFO] [stdout]      |
[INFO] [stdout] 1113 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 1114 |         _: &'q Query<V, F>,
[INFO] [stdout] 1115 |     ) -> (SubWorld, SubWorld) {
[INFO] [stdout]      |           ^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |           |
[INFO] [stdout]      |           the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1115 |     ) -> (SubWorld<'_>, SubWorld<'_>) {
[INFO] [stdout]      |                   ++++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/world.rs:1139:36
[INFO] [stdout]      |
[INFO] [stdout] 1139 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<T>> {
[INFO] [stdout]      |                                    ^^^^^                            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                    |
[INFO] [stdout]      |                                    the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1139 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<'_, T>> {
[INFO] [stdout]      |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/world.rs:1159:9
[INFO] [stdout]      |
[INFO] [stdout] 1159 |         &self,
[INFO] [stdout]      |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 1160 |         entity: Entity,
[INFO] [stdout] 1161 |     ) -> Option<RefMut<T>> {
[INFO] [stdout]      |                 ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1161 |     ) -> Option<RefMut<'_, T>> {
[INFO] [stdout]      |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/world.rs:1195:9
[INFO] [stdout]      |
[INFO] [stdout] 1195 |         &self,
[INFO] [stdout]      |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 1196 |     ) -> Result<StorageAccessor, ComponentAccessError> {
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1196 |     ) -> Result<StorageAccessor<'_>, ComponentAccessError> {
[INFO] [stdout]      |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/world.rs:2099:69
[INFO] [stdout]      |
[INFO] [stdout] 2099 |             assert_eq!(&Static, world.get_tag::<Static>(*e).unwrap().deref());
[INFO] [stdout]      |                                                                     ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `Static` does not implement `Deref`, so calling `deref` on `&Static` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout] 2099 -             assert_eq!(&Static, world.get_tag::<Static>(*e).unwrap().deref());
[INFO] [stdout] 2099 +             assert_eq!(&Static, world.get_tag::<Static>(*e).unwrap());
[INFO] [stdout]      |
[INFO] [stdout] help: if you meant to clone `Static`, implement `Clone` for it
[INFO] [stdout]      |
[INFO] [stdout] 1944 +     #[derive(Clone)]
[INFO] [stdout] 1945 |     struct Static;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/world.rs:2100:70
[INFO] [stdout]      |
[INFO] [stdout] 2100 |             assert_eq!(&Model(5), world.get_tag::<Model>(*e).unwrap().deref());
[INFO] [stdout]      |                                                                      ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `Model` does not implement `Deref`, so calling `deref` on `&Model` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout] 2100 -             assert_eq!(&Model(5), world.get_tag::<Model>(*e).unwrap().deref());
[INFO] [stdout] 2100 +             assert_eq!(&Model(5), world.get_tag::<Model>(*e).unwrap());
[INFO] [stdout]      |
[INFO] [stdout] help: if you meant to clone `Model`, implement `Clone` for it
[INFO] [stdout]      |
[INFO] [stdout] 1942 +     #[derive(Clone)]
[INFO] [stdout] 1943 |     struct Model(u32);
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 14.97s
[INFO] running `Command { std: "docker" "inspect" "4554fcb7a2ccdc4c838a3432a3d8096318461ed40373c2df1936b4db9b1595dc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4554fcb7a2ccdc4c838a3432a3d8096318461ed40373c2df1936b4db9b1595dc", kill_on_drop: false }`
[INFO] [stdout] 4554fcb7a2ccdc4c838a3432a3d8096318461ed40373c2df1936b4db9b1595dc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d315e6d4253a923eea3b8e7cbdfb75ab393902dd95e9841a7f197e93fbf0c7ed
[INFO] running `Command { std: "docker" "start" "-a" "d315e6d4253a923eea3b8e7cbdfb75ab393902dd95e9841a7f197e93fbf0c7ed", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated method `std::sync::atomic::Atomic::<isize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stderr]   --> src/borrow.rs:78:34
[INFO] [stderr]    |
[INFO] [stderr] 78 |             if self.borrow_state.compare_and_swap(
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::sync::atomic::Atomic::<isize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stderr]    --> src/borrow.rs:143:18
[INFO] [stderr]     |
[INFO] [stderr] 143 |                 .compare_and_swap(0, -1, std::sync::atomic::Ordering::SeqCst);
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/borrow.rs:55:16
[INFO] [stderr]    |
[INFO] [stderr] 55 |     pub fn get(&self) -> Ref<T> { self.try_get().unwrap() }
[INFO] [stderr]    |                ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                |
[INFO] [stderr]    |                the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 55 |     pub fn get(&self) -> Ref<'_, T> { self.try_get().unwrap() }
[INFO] [stderr]    |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/borrow.rs:68:20
[INFO] [stderr]    |
[INFO] [stderr] 68 |     pub fn try_get(&self) -> Result<Ref<T>, String> {
[INFO] [stderr]    |                    ^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                    |
[INFO] [stderr]    |                    the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 68 |     pub fn try_get(&self) -> Result<Ref<'_, T>, String> {
[INFO] [stderr]    |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/borrow.rs:124:20
[INFO] [stderr]     |
[INFO] [stderr] 124 |     pub fn get_mut(&self) -> RefMut<T> { self.try_get_mut().unwrap() }
[INFO] [stderr]     |                    ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                    |
[INFO] [stderr]     |                    the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 124 |     pub fn get_mut(&self) -> RefMut<'_, T> { self.try_get_mut().unwrap() }
[INFO] [stderr]     |                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/borrow.rs:140:24
[INFO] [stderr]     |
[INFO] [stderr] 140 |     pub fn try_get_mut(&self) -> Result<RefMut<T>, String> {
[INFO] [stderr]     |                        ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 140 |     pub fn try_get_mut(&self) -> Result<RefMut<'_, T>, String> {
[INFO] [stderr]     |                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/command.rs:421:25
[INFO] [stderr]     |
[INFO] [stderr] 421 |     pub fn start_entity(&mut self) -> EntityBuilder<(), ()> {
[INFO] [stderr]     |                         ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 421 |     pub fn start_entity(&mut self) -> EntityBuilder<'_, (), ()> {
[INFO] [stderr]     |                                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/entity.rs:279:28
[INFO] [stderr]     |
[INFO] [stderr] 279 |     pub fn create_entities(&self) -> CreateEntityIter {
[INFO] [stderr]     |                            ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 279 |     pub fn create_entities(&self) -> CreateEntityIter<'_> {
[INFO] [stderr]     |                                                      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/filter.rs:109:16
[INFO] [stderr]     |
[INFO] [stderr] 109 |     fn matches(&mut self, source: T) -> FilterIter<Self, T> {
[INFO] [stderr]     |                ^^^^^^^^^                ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                |
[INFO] [stderr]     |                the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 109 |     fn matches(&mut self, source: T) -> FilterIter<'_, Self, T> {
[INFO] [stderr]     |                                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/storage.rs:127:17
[INFO] [stderr]     |
[INFO] [stderr] 127 |     pub fn iter(&self) -> SliceVecIter<ComponentTypeId> { self.0.iter() }
[INFO] [stderr]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 127 |     pub fn iter(&self) -> SliceVecIter<'_, ComponentTypeId> { self.0.iter() }
[INFO] [stderr]     |                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/storage.rs:138:17
[INFO] [stderr]     |
[INFO] [stderr] 138 |     pub fn iter(&self) -> SliceVecIter<TagTypeId> { self.0.iter() }
[INFO] [stderr]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 138 |     pub fn iter(&self) -> SliceVecIter<'_, TagTypeId> { self.0.iter() }
[INFO] [stderr]     |                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/storage.rs:175:17
[INFO] [stderr]     |
[INFO] [stderr] 175 |     pub fn iter(&self) -> SliceVecIter<T> {
[INFO] [stderr]     |                 ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 175 |     pub fn iter(&self) -> SliceVecIter<'_, T> {
[INFO] [stderr]     |                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/storage.rs:282:9
[INFO] [stderr]     |
[INFO] [stderr] 282 |         &mut self,
[INFO] [stderr]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stderr] 283 |         range: R,
[INFO] [stderr] 284 |     ) -> std::vec::Drain<ArchetypeData> {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 284 |     ) -> std::vec::Drain<'_, ArchetypeData> {
[INFO] [stderr]     |                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]    --> src/storage.rs:334:5
[INFO] [stderr]     |
[INFO] [stderr] 330 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stderr]     |                       --------- in this derive macro expansion
[INFO] [stderr] ...
[INFO] [stderr] 334 |     drop_fn: Option<fn(*mut u8)>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the address of the same function can vary between different codegen units
[INFO] [stderr]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr]     = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]    --> src/storage.rs:335:5
[INFO] [stderr]     |
[INFO] [stderr] 330 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stderr]     |                       --------- in this derive macro expansion
[INFO] [stderr] ...
[INFO] [stderr] 335 |     eq_fn: fn(*const u8, *const u8) -> bool,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the address of the same function can vary between different codegen units
[INFO] [stderr]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]    --> src/storage.rs:336:5
[INFO] [stderr]     |
[INFO] [stderr] 330 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stderr]     |                       --------- in this derive macro expansion
[INFO] [stderr] ...
[INFO] [stderr] 336 |     clone_fn: fn(*const u8, *mut u8),
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the address of the same function can vary between different codegen units
[INFO] [stderr]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]    --> src/storage.rs:380:5
[INFO] [stderr]     |
[INFO] [stderr] 376 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stderr]     |                       --------- in this derive macro expansion
[INFO] [stderr] ...
[INFO] [stderr] 380 |     drop_fn: Option<fn(*mut u8)>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the address of the same function can vary between different codegen units
[INFO] [stderr]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr] 
[INFO] [stderr] warning: hiding or eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]     --> src/storage.rs:1234:31
[INFO] [stderr]      |
[INFO] [stderr] 1233 |         &'a self,
[INFO] [stderr]      |          -- the lifetime is named here
[INFO] [stderr] 1234 |     ) -> impl Iterator<Item = RefMap<&[T]>> + 'a {
[INFO] [stderr]      |                               ^^^^^^^^^^^^    -- the same lifetime is named here
[INFO] [stderr]      |                               |      |
[INFO] [stderr]      |                               |      the same lifetime is elided here
[INFO] [stderr]      |                               the same lifetime is hidden here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]      |
[INFO] [stderr] 1234 |     ) -> impl Iterator<Item = RefMap<'a, &'a [T]>> + 'a {
[INFO] [stderr]      |                                      +++  ++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding or eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]     --> src/storage.rs:1245:31
[INFO] [stderr]      |
[INFO] [stderr] 1244 |         &'a self,
[INFO] [stderr]      |          -- the lifetime is named here
[INFO] [stderr] 1245 |     ) -> impl Iterator<Item = RefMapMut<&mut [T]>> + 'a {
[INFO] [stderr]      |                               ^^^^^^^^^^^^^^^^^^^    -- the same lifetime is named here
[INFO] [stderr]      |                               |         |
[INFO] [stderr]      |                               |         the same lifetime is elided here
[INFO] [stderr]      |                               the same lifetime is hidden here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]      |
[INFO] [stderr] 1245 |     ) -> impl Iterator<Item = RefMapMut<'a, &'a mut [T]>> + 'a {
[INFO] [stderr]      |                                         +++  ++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/storage.rs:1380:9
[INFO] [stderr]      |
[INFO] [stderr] 1380 |         &mut self,
[INFO] [stderr]      |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stderr] 1381 |         range: R,
[INFO] [stderr] 1382 |     ) -> std::vec::Drain<ComponentStorage> {
[INFO] [stderr]      |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1382 |     ) -> std::vec::Drain<'_, ComponentStorage> {
[INFO] [stderr]      |                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/storage.rs:1732:19
[INFO] [stderr]      |
[INFO] [stderr] 1732 |     pub fn writer(&mut self) -> StorageWriter {
[INFO] [stderr]      |                   ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                   |
[INFO] [stderr]      |                   the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1732 |     pub fn writer(&mut self) -> StorageWriter<'_> {
[INFO] [stderr]      |                                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/storage.rs:1896:28
[INFO] [stderr]      |
[INFO] [stderr] 1896 |     pub unsafe fn data_raw(&self) -> (Ref<*mut u8>, usize, usize) {
[INFO] [stderr]      |                            ^^^^^      ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                            |
[INFO] [stderr]      |                            the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1896 |     pub unsafe fn data_raw(&self) -> (Ref<'_, *mut u8>, usize, usize) {
[INFO] [stderr]      |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/storage.rs:1913:32
[INFO] [stderr]      |
[INFO] [stderr] 1913 |     pub unsafe fn data_raw_mut(&self) -> (RefMut<*mut u8>, usize, usize) {
[INFO] [stderr]      |                                ^^^^^      ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                                |
[INFO] [stderr]      |                                the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1913 |     pub unsafe fn data_raw_mut(&self) -> (RefMut<'_, *mut u8>, usize, usize) {
[INFO] [stderr]      |                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/storage.rs:1929:33
[INFO] [stderr]      |
[INFO] [stderr] 1929 |     pub unsafe fn data_slice<T>(&self) -> RefMap<&[T]> {
[INFO] [stderr]      |                                 ^^^^^     ^^^^^^^^^^^^
[INFO] [stderr]      |                                 |         |      |
[INFO] [stderr]      |                                 |         |      the same lifetime is elided here
[INFO] [stderr]      |                                 |         the same lifetime is hidden here
[INFO] [stderr]      |                                 the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1929 |     pub unsafe fn data_slice<T>(&self) -> RefMap<'_, &[T]> {
[INFO] [stderr]      |                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/storage.rs:1947:37
[INFO] [stderr]      |
[INFO] [stderr] 1947 |     pub unsafe fn data_slice_mut<T>(&self) -> RefMapMut<&mut [T]> {
[INFO] [stderr]      |                                     ^^^^^     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |                                     |         |         |
[INFO] [stderr]      |                                     |         |         the same lifetime is elided here
[INFO] [stderr]      |                                     |         the same lifetime is hidden here
[INFO] [stderr]      |                                     the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1947 |     pub unsafe fn data_slice_mut<T>(&self) -> RefMapMut<'_, &mut [T]> {
[INFO] [stderr]      |                                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/storage.rs:1953:19
[INFO] [stderr]      |
[INFO] [stderr] 1953 |     pub fn writer(&mut self) -> ComponentWriter { ComponentWriter::new(self) }
[INFO] [stderr]      |                   ^^^^^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                   |
[INFO] [stderr]      |                   the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1953 |     pub fn writer(&mut self) -> ComponentWriter<'_> { ComponentWriter::new(self) }
[INFO] [stderr]      |                                                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/subworld.rs:215:9
[INFO] [stderr]     |
[INFO] [stderr] 215 |         &mut self,
[INFO] [stderr]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stderr] 216 |         _: &'q Query<V, F>,
[INFO] [stderr] 217 |     ) -> (SubWorld, SubWorld) {
[INFO] [stderr]     |           ^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |           |
[INFO] [stderr]     |           the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 217 |     ) -> (SubWorld<'_>, SubWorld<'_>) {
[INFO] [stderr]     |                   ++++          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/subworld.rs:298:36
[INFO] [stderr]     |
[INFO] [stderr] 298 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<T>> {
[INFO] [stderr]     |                                    ^^^^^                            ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                                    |
[INFO] [stderr]     |                                    the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 298 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<'_, T>> {
[INFO] [stderr]     |                                                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/subworld.rs:305:9
[INFO] [stderr]     |
[INFO] [stderr] 305 |         &self,
[INFO] [stderr]     |         ^^^^^ the lifetime is elided here
[INFO] [stderr] 306 |         entity: Entity,
[INFO] [stderr] 307 |     ) -> Option<RefMut<T>> {
[INFO] [stderr]     |                 ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 307 |     ) -> Option<RefMut<'_, T>> {
[INFO] [stderr]     |                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/subworld.rs:319:9
[INFO] [stderr]     |
[INFO] [stderr] 319 |         &self,
[INFO] [stderr]     |         ^^^^^ the lifetime is elided here
[INFO] [stderr] 320 |     ) -> Result<StorageAccessor, ComponentAccessError> {
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 320 |     ) -> Result<StorageAccessor<'_>, ComponentAccessError> {
[INFO] [stderr]     |                                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/world.rs:111:36
[INFO] [stderr]     |
[INFO] [stderr] 111 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<T>>;
[INFO] [stderr]     |                                    ^^^^^                            ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                                    |
[INFO] [stderr]     |                                    the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 111 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<'_, T>>;
[INFO] [stderr]     |                                                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/world.rs:126:57
[INFO] [stderr]     |
[INFO] [stderr] 126 |     unsafe fn get_component_mut_unchecked<T: Component>(&self, entity: Entity)
[INFO] [stderr]     |                                                         ^^^^^ the lifetime is elided here
[INFO] [stderr] 127 |         -> Option<RefMut<T>>;
[INFO] [stderr]     |                   ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 127 |         -> Option<RefMut<'_, T>>;
[INFO] [stderr]     |                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/world.rs:138:40
[INFO] [stderr]     |
[INFO] [stderr] 138 |     fn get_component_mut<T: Component>(&mut self, entity: Entity) -> Option<RefMut<T>> {
[INFO] [stderr]     |                                        ^^^^^^^^^                            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                                        |
[INFO] [stderr]     |                                        the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 138 |     fn get_component_mut<T: Component>(&mut self, entity: Entity) -> Option<RefMut<'_, T>> {
[INFO] [stderr]     |                                                                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/world.rs:154:9
[INFO] [stderr]     |
[INFO] [stderr] 154 |         &self,
[INFO] [stderr]     |         ^^^^^ the lifetime is elided here
[INFO] [stderr] 155 |     ) -> Result<StorageAccessor, ComponentAccessError>;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 155 |     ) -> Result<StorageAccessor<'_>, ComponentAccessError>;
[INFO] [stderr]     |                                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stderr]     --> src/world.rs:1061:43
[INFO] [stderr]      |
[INFO] [stderr] 1061 |             archetype_data: archetype_data.deref(),
[INFO] [stderr]      |                                           ^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: the type `ArchetypeData` does not implement `Deref`, so calling `deref` on `&ArchetypeData` copies the reference, which does not do anything and can be removed
[INFO] [stderr]      = note: `#[warn(noop_method_call)]` on by default
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]      |
[INFO] [stderr] 1061 -             archetype_data: archetype_data.deref(),
[INFO] [stderr] 1061 +             archetype_data: archetype_data,
[INFO] [stderr]      |
[INFO] [stderr] help: if you meant to clone `ArchetypeData`, implement `Clone` for it
[INFO] [stderr]     -->  src/storage.rs:620:1
[INFO] [stderr]      |
[INFO] [stderr]  620 + #[derive(Clone)]
[INFO] [stderr]  621 | pub struct ArchetypeData {
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/world.rs:1092:39
[INFO] [stderr]      |
[INFO] [stderr] 1092 |     pub fn split<T: for<'v> View<'v>>(&mut self) -> (SubWorld, SubWorld) {
[INFO] [stderr]      |                                       ^^^^^^^^^      ^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                                       |              |
[INFO] [stderr]      |                                       |              the same lifetime is hidden here
[INFO] [stderr]      |                                       the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1092 |     pub fn split<T: for<'v> View<'v>>(&mut self) -> (SubWorld<'_>, SubWorld<'_>) {
[INFO] [stderr]      |                                                              ++++          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/world.rs:1113:9
[INFO] [stderr]      |
[INFO] [stderr] 1113 |         &mut self,
[INFO] [stderr]      |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stderr] 1114 |         _: &'q Query<V, F>,
[INFO] [stderr] 1115 |     ) -> (SubWorld, SubWorld) {
[INFO] [stderr]      |           ^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |           |
[INFO] [stderr]      |           the same lifetime is hidden here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1115 |     ) -> (SubWorld<'_>, SubWorld<'_>) {
[INFO] [stderr]      |                   ++++          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/world.rs:1139:36
[INFO] [stderr]      |
[INFO] [stderr] 1139 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<T>> {
[INFO] [stderr]      |                                    ^^^^^                            ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                                    |
[INFO] [stderr]      |                                    the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1139 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<'_, T>> {
[INFO] [stderr]      |                                                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/world.rs:1159:9
[INFO] [stderr]      |
[INFO] [stderr] 1159 |         &self,
[INFO] [stderr]      |         ^^^^^ the lifetime is elided here
[INFO] [stderr] 1160 |         entity: Entity,
[INFO] [stderr] 1161 |     ) -> Option<RefMut<T>> {
[INFO] [stderr]      |                 ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1161 |     ) -> Option<RefMut<'_, T>> {
[INFO] [stderr]      |                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/world.rs:1195:9
[INFO] [stderr]      |
[INFO] [stderr] 1195 |         &self,
[INFO] [stderr]      |         ^^^^^ the lifetime is elided here
[INFO] [stderr] 1196 |     ) -> Result<StorageAccessor, ComponentAccessError> {
[INFO] [stderr]      |                 ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1196 |     ) -> Result<StorageAccessor<'_>, ComponentAccessError> {
[INFO] [stderr]      |                                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `legion-core` (lib) generated 40 warnings (run `cargo fix --lib -p legion-core` to apply 34 suggestions)
[INFO] [stderr] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stderr]     --> src/world.rs:2099:69
[INFO] [stderr]      |
[INFO] [stderr] 2099 |             assert_eq!(&Static, world.get_tag::<Static>(*e).unwrap().deref());
[INFO] [stderr]      |                                                                     ^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: the type `Static` does not implement `Deref`, so calling `deref` on `&Static` copies the reference, which does not do anything and can be removed
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]      |
[INFO] [stderr] 2099 -             assert_eq!(&Static, world.get_tag::<Static>(*e).unwrap().deref());
[INFO] [stderr] 2099 +             assert_eq!(&Static, world.get_tag::<Static>(*e).unwrap());
[INFO] [stderr]      |
[INFO] [stderr] help: if you meant to clone `Static`, implement `Clone` for it
[INFO] [stderr]      |
[INFO] [stderr] 1944 +     #[derive(Clone)]
[INFO] [stderr] 1945 |     struct Static;
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stderr]     --> src/world.rs:2100:70
[INFO] [stderr]      |
[INFO] [stderr] 2100 |             assert_eq!(&Model(5), world.get_tag::<Model>(*e).unwrap().deref());
[INFO] [stderr]      |                                                                      ^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: the type `Model` does not implement `Deref`, so calling `deref` on `&Model` copies the reference, which does not do anything and can be removed
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]      |
[INFO] [stderr] 2100 -             assert_eq!(&Model(5), world.get_tag::<Model>(*e).unwrap().deref());
[INFO] [stderr] 2100 +             assert_eq!(&Model(5), world.get_tag::<Model>(*e).unwrap());
[INFO] [stderr]      |
[INFO] [stderr] help: if you meant to clone `Model`, implement `Clone` for it
[INFO] [stderr]      |
[INFO] [stderr] 1942 +     #[derive(Clone)]
[INFO] [stderr] 1943 |     struct Model(u32);
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: `legion-core` (lib test) generated 42 warnings (40 duplicates) (run `cargo fix --lib -p legion-core --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.23s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/legion_core-8f3002da5e6a177e)
[INFO] [stdout] 
[INFO] [stdout] running 69 tests
[INFO] [stdout] test cons::tests::cons_append ... ok
[INFO] [stdout] test cons::tests::cons_prepend ... ok
[INFO] [stdout] test cons::tests::cons_macro ... ok
[INFO] [stdout] test cons::tests::cons_flatten ... ok
[INFO] [stdout] test entity::tests::create_entity ... ok
[INFO] [stdout] test entity::tests::create_entity_many ... ok
[INFO] [stdout] test command::tests::simple_write_test ... ok
[INFO] [stdout] test entity::tests::create_entity_many_blocks ... ok
[INFO] [stdout] test entity::tests::create_entity_recreate ... ok
[INFO] [stdout] test entity::tests::delete_entity_was_alive ... ok
[INFO] [stdout] test entity::tests::delete_entity_was_unallocated ... ok
[INFO] [stdout] test entity::tests::is_alive_allocated ... ok
[INFO] [stdout] test entity::tests::is_alive_killed ... ok
[INFO] [stdout] test entity::tests::is_alive_unallocated ... ok
[INFO] [stdout] test permission::tests::remove_read ... ok
[INFO] [stdout] test permission::tests::remove_write ... ok
[INFO] [stdout] test permission::tests::push_read ... ok
[INFO] [stdout] test storage::test::create ... ok
[INFO] [stdout] test permission::tests::push_write ... ok
[INFO] [stdout] test storage::test::create_lazy_allocated ... ok
[INFO] [stdout] test filter::test::component_changed_filter ... ok
[INFO] [stdout] test storage::test::create_zero_size_components ... ok
[INFO] [stdout] test filter::test::create ... ok
[INFO] [stdout] test permission::tests::demote_readwrite_to_read ... ok
[INFO] [stdout] test permission::tests::demote_readwrite_to_write ... ok
[INFO] [stdout] test subworld::tests::readread_right_excluded ... ok
[INFO] [stdout] test permission::tests::push_both ... ok
[INFO] [stdout] test storage::test::read_tags ... ok
[INFO] [stdout] test subworld::tests::readread_left_included ... ok
[INFO] [stdout] test subworld::tests::readread_right_included ... ok
[INFO] [stdout] test subworld::tests::readwrite_right_included ... ok
[INFO] [stdout] test permission::tests::promote_read_to_readwrite ... ok
[INFO] [stdout] test permission::tests::promote_write_to_readwrite ... ok
[INFO] [stdout] test subworld::tests::writeread_left_included ... ok
[INFO] [stdout] test subworld::tests::writeread_right_included ... ok
[INFO] [stdout] test entity::tests::delete_entity_was_dead ... ok
[INFO] [stdout] test subworld::tests::writewrite_right_included ... ok
[INFO] [stdout] test subworld::tests::writewrite_left_included ... ok
[INFO] [stdout] test storage::test::create_free_when_empty ... ok
[INFO] [stdout] test storage::test::read_components ... ok
[INFO] [stdout] test storage::test::create_zero_size_tags ... ok
[INFO] [stdout] test world::tests::create_world ... ok
[INFO] [stdout] test command::tests::create_entity_test ... ok
[INFO] [stdout] test world::tests::add_component2 ... ok
[INFO] [stdout] test world::tests::add_component ... ok
[INFO] [stdout] test world::tests::add_tag ... ok
[INFO] [stdout] test world::tests::delete_last ... ok
[INFO] [stdout] test world::tests::create_universe ... ok
[INFO] [stdout] test world::tests::delete ... ok
[INFO] [stdout] test world::tests::delete_first ... ok
[INFO] [stdout] test world::tests::get_component ... ok
[INFO] [stdout] test world::tests::get_component_wrong_type ... ok
[INFO] [stdout] test world::tests::get_tag ... ok
[INFO] [stdout] test world::tests::insert ... ok
[INFO] [stdout] test world::tests::insert_many ... ok
[INFO] [stdout] test world::tests::remove_component ... ok
[INFO] [stdout] test world::tests::get_tag_wrong_type ... ok
[INFO] [stdout] test world::tests::insert_empty ... ok
[INFO] [stdout] test entity::tests::multiple_allocators_unique_ids ... ok
[INFO] [stdout] test world::tests::move_from ... ok
[INFO] [stdout] test world::tests::remove_tag ... ok
[INFO] [stdout] test subworld::tests::readread_left_excluded - should panic ... ok
[INFO] [stdout] test subworld::tests::readwrite_left_included - should panic ... ok
[INFO] [stdout] test subworld::tests::readwrite_left_excluded - should panic ... ok
[INFO] [stdout] test subworld::tests::writeread_left_excluded - should panic ... ok
[INFO] [stdout] test subworld::tests::readwrite_right_excluded - should panic ... ok
[INFO] [stdout] test subworld::tests::writeread_right_excluded - should panic ... ok
[INFO] [stdout] test subworld::tests::writewrite_right_excluded - should panic ... ok
[INFO] [stdout] test subworld::tests::writewrite_left_excluded - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 69 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests legion_core
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test src/query.rs - query::Query (line 860) ... ok
[INFO] [stdout] test src/query.rs - query::Query (line 877) ... ok
[INFO] [stdout] test src/query.rs - query::Query (line 844) ... ok
[INFO] [stdout] test src/query.rs - query::Query (line 827) ... ok
[INFO] [stdout] test src/query.rs - query::Query (line 921) ... ok
[INFO] [stdout] test src/world.rs - world::World::subscribe (line 226) ... ok
[INFO] [stdout] test src/command.rs - command::CommandBuffer (line 297) ... ok
[INFO] [stdout] test src/command.rs - command::EntityBuilder (line 206) ... ok
[INFO] [stdout] test src/world.rs - world::World::insert (line 281) ... ok
[INFO] [stdout] test src/query.rs - query::Query (line 896) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.10s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d315e6d4253a923eea3b8e7cbdfb75ab393902dd95e9841a7f197e93fbf0c7ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d315e6d4253a923eea3b8e7cbdfb75ab393902dd95e9841a7f197e93fbf0c7ed", kill_on_drop: false }`
[INFO] [stdout] d315e6d4253a923eea3b8e7cbdfb75ab393902dd95e9841a7f197e93fbf0c7ed
